package com.bci.pwtz.service;

import com.bci.pwtz.common.util.PaginationList;
import com.bci.pwtz.exception.CanNotDeleteException;
import com.bci.pwtz.exception.PwtzDatabaseException;
import com.bci.pwtz.mysql.model.Dyjcky;

/**
 * 低压交叉跨越服务 <br/>
 * <p>Description:<br/>
 *    <p>TODO 详细描述
 *
 * <p>For Examples <br/>
 * <PRE>
 * </PRE>
 * <p>
 */
public interface DyjckyService
{
    /**
     * 新增低压交叉跨越
     * @param dyjcky
     * @return
     * @throws PwtzDatabaseException
     */
	Dyjcky add(Dyjcky dyjcky) throws PwtzDatabaseException;
    
    /**
     * 根据id查询低压交叉跨越
     * @param dyjckyId
     * @return
     * @throws PwtzDatabaseException
     */
	Dyjcky load(String dyjckyId) throws PwtzDatabaseException;
    
    /**
     * 根据id删除低压交叉跨越
     * @param dyjckyId
     * @return
     * @throws PwtzDatabaseException
     * @throws CanNotDeleteException
     */
    int delete(String dyjckyId) throws PwtzDatabaseException, CanNotDeleteException;
    
    /**
     * 修改低压交叉跨越
     * @param dyjcky
     * @return
     * @throws PwtzDatabaseException
     */
    int update(Dyjcky dyjcky) throws PwtzDatabaseException;
    
    /**
     * 根据设备名称、公司id、开始、结束时间查询低压交叉跨越
     * @param devicename
     * @param companyid
     * @param portalType
     * @param beginTime
     * @param endTime
     * @param pageSize
     * @param pageNo
     * @return
     * @throws PwtzDatabaseException
     */
    PaginationList<Dyjcky> findDyjcky(String devicename,Long companyid,int portalType,String[] medLineCode,String lineCode,String beginTime,String endTime, int pageSize, int pageNo) throws PwtzDatabaseException;
    
}
